// 解题思路：
// 找股票的最大利润，仅限交易一次
// 遍历价格数组，只要知道前面最低的价格就可以计算现在卖出的利润 profit = prices[i] - min
// 遍历的时候同时找最低价格，每遍历一个元素就更新最低价格，仅需遍历一次就可以求出最低价格 min = min(min, prices[i])
// 遍历的时候顺便求出最大利润 ret = max(ret, maxProfit)

public class Solution {
    public int maxProfit(int[] prices) {
        int n = prices.length;
        int min = prices[0];
        int ret = 0;
        for(int i = 1; i < n; i++){
            ret = Math.max(ret, prices[i] - min);
            min = Math.min(min, prices[i]);
        }
        return ret;
    }
}
